﻿// 功能：指定光栅操作代码。这些代码将定义源矩形区域的颜色数据，如何与目标矩形区域的颜色数据组合以完成最后的颜色。
// 描述：
// 作者：温伟鹏
// 日期：2010/6/8 14:47:28

using System;

namespace MeizuSDK.Drawing
{
    /// <summary>
    /// 指定光栅操作代码。这些代码将定义源矩形区域的颜色数据，如何与目标矩形区域的颜色数据组合以完成最后的颜色。
    /// </summary>
    public enum TernaryRasterOperations : uint
    {
        /// <summary>
        /// 将源矩形区域直接拷贝到目标矩形区域。
        /// dest = source
        /// </summary>
        SRCCOPY = 0x00CC0020,
        /// <summary>
        /// 通过使用布尔型的OR（或）操作符将源和目标矩形区域的颜色合并。
        /// dest = source OR dest
        /// </summary>
        SRCPAINT = 0x00EE0086,
        /// <summary>
        /// 通过使用AND（与）操作符来将源和目标矩形区域内的颜色合并。
        /// dest = source AND dest
        /// </summary>
        SRCAND = 0x008800C6,
        /// <summary>
        /// 通过使用布尔型的XOR（异或）操作符将源和目标矩形区域的颜色合并。
        /// dest = source XOR dest
        /// </summary>
        SRCINVERT = 0x00660046,
        /// <summary>
        /// 通过使用AND（与）操作符将目标矩形区域颜色取反后与源矩形区域的颜色值合并。
        /// dest = source AND (NOT dest)
        /// </summary>
        SRCERASE = 0x00440328,
        /// <summary>
        /// 将源矩形区域颜色取反，于拷贝到目标矩形区域。
        /// dest = (NOT source)
        /// </summary>
        NOTSRCCOPY = 0x00330008,
        /// <summary>
        /// 使用布尔类型的OR（或）操作符组合源和目标矩形区域的颜色值，然后将合成的颜色取反。
        /// dest = (NOT src) AND (NOT dest)
        /// </summary>
        NOTSRCERASE = 0x001100A6,
        /// <summary>
        /// 表示使用布尔型的AND（与）操作符将源矩形区域的颜色与特定模式组合一起。
        /// dest = (source AND pattern)
        /// </summary>
        MERGECOPY = 0x00C000CA,
        /// <summary>
        /// 通过使用布尔型的OR（或）操作符将反向的源矩形区域的颜色与目标矩形区域的颜色合并。
        /// dest = (NOT source) OR dest
        /// </summary>
        MERGEPAINT = 0x00BB0226,
        /// <summary>
        /// 将特定的模式拷贝到目标位图上。
        /// dest = pattern
        /// </summary>
        PATCOPY = 0x00F00021,
        /// <summary>
        /// 通过使用布尔OR（或）操作符将源矩形区域取反后的颜色值与特定模式的颜色合并。
        /// 然后使用OR（或）操作符将该操作的结果与目标矩形区域内的颜色合并。
        /// dest = DPSnoo
        /// </summary>
        PATPAINT = 0x00FB0A09,
        /// <summary>
        /// 通过使用XOR（异或）操作符将源和目标矩形区域内的颜色合并。
        /// dest = pattern XOR dest
        /// </summary>
        PATINVERT = 0x005A0049,
        /// <summary>
        /// 表示使目标矩形区域颜色取反。
        /// dest = (NOT dest)
        /// </summary>
        DSTINVERT = 0x00550009,
        /// <summary>
        /// 表示使用与物理调色板的索引0相关的色彩来填充目标矩形区域，（对缺省的物理调色板而言，该颜色为黑色）。
        /// dest = BLACK
        /// </summary>
        BLACKNESS = 0x00000042,
        /// <summary>
        /// 使用与物理调色板中索引1有关的颜色填充目标矩形区域。（对于缺省物理调色板来说，这个颜色就是白色）。
        /// dest = WHITE
        /// </summary>
        WHITENESS = 0x00FF0062
    }
}
